home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / virus / virusdisk / vhtdk-vz.dms / vhtdk-vz.adf / VirusZ_III.doc / VirusZ_III.doc
Text File  |  2004-05-27  |  32KB  |  693 lines

  1. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  2. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  3. *=                                                                        *=
  4. =*                     VirusZ III 1.00 Documentation                      =*
  5. *=                 Copyright © 2002-04 by Georg Hörmann                   *=
  6. =*                                                                        =*
  7. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  8. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  9. Last updated: 18-Feb-2004
  10.  
  11. ----------------------------------------------------------------------------
  12.                                 LEGAL STUFF
  13. ----------------------------------------------------------------------------
  14.  
  15. The VirusZ software package is FREEWARE and copyright © 1991-1999/2002-04 by
  16. Georg Hörmann and © 1999-2001 by Dirk Stöcker.
  17.  
  18. No parts of this package may be altered by any means (this includes editing,
  19. reprogramming, crunching, resourcing etc.), except archiving.  The author is
  20. in  no  way  liable  for  any  changes  made  to any part of the package, or
  21. consequences  thereof  as he is in no way liable for damages or loss of data
  22. directly or indirectly caused by this software.
  23.  
  24. Neither  fees  may  be  charged nor profits may be made by distributing this
  25. software package.  Outside a single machine environment, you are not allowed
  26. to  reproduce  single  parts  of  the  package,  but  you  have  to  copy it
  27. completely.
  28.  
  29. Note that the xadmaster.library is SHAREWARE, so if you are using it, please
  30. register.   For  more  detailed information, read 'xadmaster.guide' from the
  31. xadmaster.library software package.
  32.  
  33. ----------------------------------------------------------------------------
  34.                              CONTACT ADDRESSES
  35. ----------------------------------------------------------------------------
  36.  
  37. For  comments,  bug  reports, vector snapshots or if you have found some new
  38. virus, contact the author at the following addresses:
  39.  
  40. snail-mail: Georg Hörmann
  41.             Martinswinkelstraße 16c
  42.             82467 Garmisch-Partenkirchen
  43.             Germany
  44.  
  45. e-mail:     ghoermann@gmx.de
  46.  
  47. You  will  always find the latest updates of VirusZ and related files in the
  48. Aminet (util/virus) or at the following places:
  49.  
  50. Virus Help Team Denmark homepage:   www.vht-dk.dk
  51. Dirk Stöcker's homepage:            www.dstoecker.de
  52.  
  53. ----------------------------------------------------------------------------
  54.                             SYSTEM REQUIREMENTS
  55. ----------------------------------------------------------------------------
  56.  
  57. VirusZ  will  run  on  any (emulated or real) Amiga that comes with at least
  58. AmigaOS 2.04 (Kickstart v37) or MorphOS.  The following disk-based libraries
  59. are required:
  60.  
  61. - commodities.library v37+ (part of AmigaOS)
  62. - rexxsyslib.library v33+ (part of AmigaOS, for ARexx features)
  63. - reqtools.library v38+
  64. - xfdmaster.library v37+
  65. - xvs.library v33+
  66. - xadmaster.library v8+ (optional, for scanning inside archives)
  67. - disassembler.library v40+ (optional, for disassembling bootblocks/memory)
  68.  
  69. None  of  these  libraries  will  be distributed with the VirusZ package any
  70. longer (because of copyright reasons and the exploding size of the archive),
  71. get them from Aminet or the homepages mentioned above.
  72.  
  73. ----------------------------------------------------------------------------
  74.                                 INSTALLATION
  75. ----------------------------------------------------------------------------
  76.  
  77. Installing  VirusZ  is  nothing  more  than either clicking on the installer
  78. script written by David Crawford, dragging the icon to your WBStartup drawer
  79. by hand or adding the following line to your 'S:User-Startup' file:
  80.  
  81. [Path]VirusZ [Option(s)]
  82.  
  83. To  make sure that you have received an original version of VirusZ and not a
  84. fake, you can use my PGP key added at the end of this documentation together
  85. with  the  signatures  included in the archive to verify the files.  You can
  86. also  download  a  100% safe copy of my PGP key from the homepages mentioned
  87. above.
  88.  
  89. Additionally,  you should compare the file size of your VirusZ copy with the
  90. one  displayed  in the 'Technical Info' information.  They MUST match if you
  91. didn't crunch VirusZ yourself.
  92.  
  93. ----------------------------------------------------------------------------
  94.                      KNOWN PROBLEMS & THIRD PARTY BUGS
  95. ----------------------------------------------------------------------------
  96.  
  97. DISASSEMBLER.LIBRARY & MMU.LIBRARY:
  98. VirusZ  might  crash  if  both disassembler.library and mmu.library exist in
  99. your LIBS:  drawer, but the mmu.library setup is incorrect.  In those cases,
  100. either  configure  your mmu.library environment correctly (read the manuals)
  101. or delete/rename mmu.library, so that disassembler.library cannot find it at
  102. startup.  Thanks to Harry Sintonen for this report.
  103.  
  104. MUGUARDIANANGEL HITS:
  105. Whenever  a  device  gets Inhibit()ed by the sector check, the filesystem in
  106. Kickstart  ROM causes a hit.  It releases less memory than it has allocated.
  107. This is not a bug in VirusZ!
  108.  
  109. STATRAM.DEVICE v37.11 / FMSDISK.DEVICE v3.0:
  110. These  device  drivers cannot handle NSD-commands correctly and crashed with
  111. pre-1.00  releases  of  VirusZ.   Due to a changed behaviour of VirusZ since
  112. v1.00, there shouldn't be any more problems.
  113.  
  114. ----------------------------------------------------------------------------
  115.                                SHELL TEMPLATE
  116. ----------------------------------------------------------------------------
  117.  
  118. VirusZ currently supports the following Shell template:
  119.  
  120. CX_PRIORITY/N/K,CX_POPKEY/K,CX_POPUP/K,PUBSCREEN/K,AREXX/K,QUIT/S
  121.  
  122. For more detailed information about Shell syntax, commodity usage and hotkey
  123. definitions, please consult the manuals shipped with your Amiga.
  124.  
  125. Please note that the ARexx interface commands described below require VirusZ
  126. to  be  active already.  If it is not, it will first be started, the starter
  127. process  will  wait  until  the ARexx port appears and then the commands are
  128. sent to the port.
  129.  
  130. CX_PRIORITY:
  131. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  132. -128 to 127, default is 0.
  133.  
  134. CX_POPKEY:
  135. Defines the hotkey used to pop up the main window.
  136.  
  137. CX_POPUP:
  138. Tells VirusZ whether to pop up on startup or not.
  139.  
  140. PUBSCREEN:
  141. Tells VirusZ to open its windows on the defined public screen instead of the
  142. Workbench screen.
  143.  
  144. AREXX:
  145. The  argument  given  to this option will be directly sent to VirusZ's ARexx
  146. port  as  a  command and the return code in the Shell will correspond to the
  147. return code of the ARexx command.
  148.  
  149. QUIT:
  150. Sends the ARexx command "QUIT" to an already running copy of VirusZ and thus
  151. terminates it.
  152.  
  153. ----------------------------------------------------------------------------
  154.                                ICON TOOLTYPES
  155. ----------------------------------------------------------------------------
  156.  
  157. For  more  detailed  information about tooltypes, commodity usage and hotkey
  158. definitions, please consult the manuals shipped with your Amiga.
  159.  
  160. VirusZ currently supports the following tooltypes:
  161.  
  162. CX_PRIORITY:
  163. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  164. -128 to 127, default is 0.
  165.  
  166. CX_POPKEY:
  167. Defines the hotkey used to pop up the main window.
  168.  
  169. CX_POPUP:
  170. Tells VirusZ whether to pop up on startup or not.
  171.  
  172. PUBSCREEN:
  173. Tells VirusZ to open its windows on the defined public screen instead of the
  174. Workbench.
  175.  
  176. ----------------------------------------------------------------------------
  177.                                AREXX COMMANDS
  178. ----------------------------------------------------------------------------
  179.  
  180. VirusZ  has an ARexx port called 'VIRUSZ_III.REXX' that currently offers the
  181. following commands:
  182.  
  183. HIDE:
  184. This  command makes VirusZ close its main window and work in the background.
  185. To get the interface back you have to use the defined hotkey or the Exchange
  186. utility.
  187.  
  188. QUIT:
  189. This command terminates VirusZ.
  190.  
  191. As  you  can  see,  there  are  no really useful commands implemented at the
  192. moment  that might help you with virus scanning.  This will certainly change
  193. in the near future.  Any suggestions?
  194.  
  195. ----------------------------------------------------------------------------
  196.                    PROGRAM STARTUP & SYSTEM SURVEILLANCE
  197. ----------------------------------------------------------------------------
  198.  
  199. VirusZ will perform a system scan at startup-time and afterwards survey your
  200. computer  for  suspicious  activities  regularly.   You can tell VirusZ what
  201. exactly  should  happen on startup via the 'Startup' preferences and control
  202. the surveillance mode via the 'Surveillance' preferences.
  203.  
  204. The following options appear in the 'Startup' preferences only:
  205.  
  206. 'Perform Self-Test':
  207. If  enabled, the hunk structure of VirusZ will be checked.  An alert appears
  208. if there is something wrong (might be a link virus).  Disable this option if
  209. you  intend to crunch VirusZ with a file packer because most of these modify
  210. the hunks.
  211.  
  212. 'Load Bootblock Brain':
  213. If  this option is enabled, the default bootblock brain (see 'Bootblock Lab'
  214. preferences) will be loaded automatically.
  215.  
  216. 'Pop Up Main Window':
  217. If enabled, VirusZ opens the main window, otherwise it can be controlled via
  218. the Exchange commodity or the ARexx port only.
  219.  
  220. 'Activate Main Window':
  221. This  option  tells  VirusZ to activate the main window.  This is useful for
  222. all  users that don't have VirusZ running in the background all the time and
  223. want to start a scan without activating the window by hand first.
  224.  
  225. The  following  options  appear in both the 'Startup' and the 'Surveillance'
  226. preferences (introduced by 'Check...' or 'Survey...'):
  227.  
  228. '...ColdCapture/CoolCapture/KickTags':
  229. System pointers used by viruses (but also by useful utilities) to keep their
  230. code  reset  resistant.   Only disable these options if you really know what
  231. you are doing.
  232.  
  233. '...CPU Interrupts/Exec Interrupts/Library Vectors/Process Fields':
  234. Other  system pointers often used by viruses.  Please note that also lots of
  235. harmless utilities use them, not every alert that VirusZ will send you means
  236. there's a new virus in your system.
  237.  
  238. '...Bootblocks':
  239. This  will  scan the bootblocks of all available disks, newly inserted disks
  240. are detected if surveillance is activated.
  241.  
  242. '...Disk-Validators':
  243. Scans all disk-validator files found in L: drawer of any inserted disk.
  244.  
  245. ----------------------------------------------------------------------------
  246.                    GENERAL INFORMATION ABOUT PREFERENCES
  247. ----------------------------------------------------------------------------
  248.  
  249. VirusZ   uses   the  standard  AmigaOS  method  to  store/save  preferences.
  250. Therefore  the drawer 'VirusZ_III' will be created in your ENVARC:  and ENV:
  251. drawers.   You  can save the current settings, restore or load settings with
  252. the corresponding menu items in the 'Preferences' menu of VirusZ.
  253.  
  254. Additionally, whenever you save your preferences, the positions and sizes of
  255. all  VirusZ  windows  will  be  stored/saved  too.   This means that you can
  256. arrange  all  windows  just  as  you like them, they will appear in the same
  257. positions the next time you start VirusZ.
  258.  
  259. Settings that affect either VirusZ in general or influence several functions
  260. can be found in 'Miscellaneous' preferences:
  261.  
  262. 'Requesters Follow Mouse':
  263. If  enabled, all ReqTools requesters appear with the negative response under
  264. the mouse pointer.  If disabled, they pop up in the top left corner.
  265.  
  266. 'Close Main Window = Exit':
  267. If  enabled,  VirusZ  quits when you click on the close-window button of the
  268. main  window,  otherwise it will act as if you selected the 'Hide' item from
  269. the 'Project' menu.
  270.  
  271. 'Quit Immediately':
  272. If enabled, VirusZ quits without verification.
  273.  
  274. 'Report Known Bootblocks':
  275. Usually,  bootblocks  recognized  by  the brain are not reported (that's the
  276. main  purpose of the whole brain system).  But it may sometimes be useful to
  277. get  those  already  known  bootblocks  reported  anyway.  If this option is
  278. enabled, that's excactly what will happen.
  279.  
  280. 'Install SnoopDos Task':
  281. If  enabled,  a task called 'SnoopDos' will be created which doesn't use any
  282. processor time, but prevents several trojans from doing any harm.
  283.  
  284. 'Center Main Window':
  285. If  enabled,  VirusZ's main window appears centered at the top border of the
  286. screen.  Otherwise it will use the coordinates that have been last saved.
  287.  
  288. 'Center Other Windows':
  289. If  enabled,  all  VirusZ  windows appear centered on the screen.  Otherwise
  290. they will use the coordinates that have been last saved.
  291.  
  292. 'Use Disassembler.Library':
  293. If disabled, both bootblock lab and memory monitor will not try to open this
  294. library.   They certainly cannot display any assembler instructions then and
  295. will  tell  you so.  This option is useful to save memory space and to avoid
  296. loading of mmu.library which is always opened by disassembler.library.
  297.  
  298. 'Hotkey':
  299. The default commodity hotkey used to pop up the main window.
  300.  
  301. ----------------------------------------------------------------------------
  302.                           SOME WORDS ABOUT "JOBS"
  303. ----------------------------------------------------------------------------
  304.  
  305. Whenever you select files or sectors for checking (see below), there happens
  306. nothing more but a corresponding job gets added to the internal joblist.  As
  307. soon  as there is at least one job in this list, the 'Job Monitor' opens and
  308. the (first) job gets processed.
  309.  
  310. Please note that VirusZ has a fully asynchronous design, which means you can
  311. select new files/sectors even while others still get checked.  The jobs will
  312. all  be linked to the joblist and be processed one after the other.  You can
  313. also delete/disinfect malicious files while the job is still running.
  314.  
  315. The  status line is the topmost part of the 'Job Monitor'.  Here you can see
  316. which  file or sector gets checked at the moment.  It therefore also is some
  317. kind of progress indicator.
  318.  
  319. Whenever  there's  something to be reported (virus/error/encoded file), this
  320. happens  in  the  report  list  in  the  middle.  By selecting an item, more
  321. information  about this item appears below in the three info lines.  You can
  322. select  the 'Statistics' during a check and they will be updated after every
  323. checked file/sector.  This is actually not recommended all the time, because
  324. it  may  slow  down checking.  'Jobs' will be displayed only until they have
  325. finished and then disappear.
  326.  
  327. The gadgets at the bottom have the following functions:
  328.  
  329. 'Running/Stopped':
  330. This  cycle gadget simply pauses/runs the current job.  But please note that
  331. it's not necessary to pause a running job in order to delete/disinfect files
  332. or sectors!
  333.  
  334. 'Check Files...':
  335. Same  function  as the equally named item in VirusZ's main menu, just easier
  336. to reach if you want to check some more files.
  337.  
  338. 'Disinfect':
  339. Only enabled if you have either selected a file infected by a linkvirus or a
  340. repairable  disk-sector  from the report list.  In case of an infected file,
  341. this  function  may repair just the selected file or all infected files (see
  342. below).   For  disk-sectors,  repairing  all  of  them at once is limited to
  343. sectors of the same disk.
  344.  
  345. 'One/All':
  346. This  cycle gadget determines the functionality of 'Delete' and 'Disinfect'.
  347. If  set  to  'One',  only the selected item will be treated, otherwise 'All'
  348. items of that type will be handed over to the corresponding function.
  349.  
  350. 'Delete':
  351. Only  enabled  if  you  have  selected a delete-only malicious file from the
  352. report list.  This function will either delete only the selected file or all
  353. malicious files that have been detected so far (see above).
  354.  
  355. 'Kill Job':
  356. Only  enabled if you select a job from the report list.  By clicking on this
  357. gadget, the job will be terminated immediately.  Useful if you have selected
  358. wrong files for checking.
  359.  
  360. 'Quit':
  361. Closes the job monitor and removes *all* running/waiting jobs, so be careful
  362. with that if checking is not finished yet.
  363.  
  364. ----------------------------------------------------------------------------
  365.                                  FILE CHECK
  366. ----------------------------------------------------------------------------
  367.  
  368. You  can check files at any time by selecting the 'Check Files...' item from
  369. the 'Project' menu or clicking the equally named gadget in the 'Job Monitor'
  370. window  (if  it's  currently  opened).   A filerequest will appear where you
  371. simply select the files to be checked.
  372.  
  373. The following settings can be adjusted in the 'File Check' preferences (they
  374. will be given away with every job at launch-time, so changing settings later
  375. doesn't have any effect on already running jobs):
  376.  
  377. 'Skip Subdirectories':
  378. Enable this option to skip drawers that may exist inside a selected drawer.
  379.  
  380. 'Don't Ask For Passwords/Keys':
  381. If   enabled,  every  encrypted  file/archive  will  be  reported,  but  not
  382. (completely)  analysed.   Always  switch  on this option if you want to scan
  383. whole partitions and go for a coffee in the meantime.  It is guaranteed that
  384. VirusZ will not ask for anything during a file check then.
  385.  
  386. 'Decrunch Data Files':
  387. If this option is enabled, the file check reads and decrunches data files in
  388. order  to  check  them.  This is useful for data files that actually contain
  389. executables, eg. XPK packed files.
  390.  
  391. 'Extract File Archives':
  392. If  enabled,  files inside file-archives get extracted and checked.  This is
  393. very  useful  for checking software downloads quickly without any hand-work.
  394. While  scanning inside archives, the archive name is marked with '<' and '>'
  395. in the status line. Xadmaster.library v8+ is required for this option!
  396.  
  397. 'Extract Disk Archives':
  398. If  enabled, disk images from disk-archives get extracted.  Please note that
  399. this  option only tells VirusZ to extract such images.  The contents however
  400. will  only  be  checked  if  some  of the following options are enabled too.
  401. Xadmaster.library v8+ is required for this option!
  402.  
  403. 'Check Files Inside Disk Images':
  404. If  enabled, files embedded in disk images will be checked.  Such images can
  405. be  the  result  of  extracted disk archives (see above) or just plain image
  406. files  on  your  harddisk  (eg.   ADF  files).  While scanning inside a disk
  407. image,  its  name  is marked with '[' and ']' in the status line.  Note that
  408. xadmaster.library v8+ is required for this option!
  409.  
  410. 'Scan Files For Bootblocks':
  411. If  enabled,  files will be scanned for embedded bootblock viruses.  This is
  412. especially  helpful to detect new bb-virus installers or brainfiles of other
  413. antivirus programs.
  414.  
  415. 'Don't Check Sectors In Files/Only Check Them In DOS Images/Check Them In
  416. Any Disk Image/Check Sectors In All Files':
  417. Here you can tell VirusZ to perform a sector check inside the selected types
  418. of  files.   Please  note that disk images are simply detected by their file
  419. size  (must  be a multiple of 512), so it might happen that other files with
  420. fitting  sizes  get  checked  too.   The option 'Check Sectors In All Files'
  421. might slow down checking extremely as *all* files must be loaded completely,
  422. so  it's not recommended for everyday use.  Additionally, due to its nature,
  423. sector  checking  inside all kinds of files might lead to false recognitions
  424. in some very rare cases!
  425.  
  426. 'Ignore External Xfd-Slaves/Only Use Them For Executables/Use All External
  427. Xfd-Slaves':
  428. These  options tell VirusZ which external slaves of xfdmaster.library should
  429. be  used for decrunching files.  You should always allow external slaves for
  430. executables  to  ensure  that  really all executables get decrunched, but if
  431. some  badly  coded third party slaves crash your system, you can switch them
  432. off completely.
  433.  
  434. 'Ask Before Deleting Files':
  435. If  this  option  is enabled, pressing the 'Delete' button will not directly
  436. erase  the selected file, but you will be prompted once again.  Very helpful
  437. to  avoid  accidental loss of data.  Please note that you cannot overrun the
  438. security request for deleting *all* malicious files with this option.
  439.  
  440. ----------------------------------------------------------------------------
  441.                                 SECTOR CHECK
  442. ----------------------------------------------------------------------------
  443.  
  444. You can start checking disk sectors of trackdisk-like devices at any time by
  445. selecting  'Check  Sectors...'  from  the 'Project' menu.  A device selector
  446. will  appear  where  you select the device to be checked.  Use the 'Refresh'
  447. button to update the device list if you have mounted new devices lately.
  448.  
  449. SOME IMPORTANT WORDS RIGHT AT THE BEGINNING, PLEASE READ CAREFULLY:
  450. This  sector check only has the purpose to scan for sectors that have either
  451. been destroyed or modified by viruses.  It doesn't verify your disks for any
  452. other  failures  like  damaged  filesystem  blocks  etc.  Although it allows
  453. scanning  of  several kinds of devices (floppies, harddisks), it should only
  454. be  used  with  standard 880k/1760k Amiga floppy disks!  None of the viruses
  455. that modify sectors ever worked with third-party devices, so there's no need
  456. to scan them!  Additionally, it might be dangerous to scan FFS devices, they
  457. will  never  be  infected  too,  but might lead to false alarms in some rare
  458. cases.  You have been warned!
  459.  
  460. The following settings can be adjusted in the 'Sector Check' preferences:
  461.  
  462. 'Check DOS Disks Only':
  463. This option should always be enabled. Only switch it off if you need to scan
  464. damaged Kickstart disks or similar trackdisk-based disks.
  465.  
  466. ----------------------------------------------------------------------------
  467.                                BOOTBLOCK LAB
  468. ----------------------------------------------------------------------------
  469.  
  470. The  bootblock lab offers all bootblock-related functions that are necessary
  471. to fight bootblock viruses and some more extras.
  472.  
  473. ATTENTION:  Be careful with writing to / installing your harddisks.  I'm not
  474. reliable for your faults.
  475.  
  476. There  are  two  cycle gadgets in the bootblock lab, one on each side of the
  477. status  line.   The  left  one selects the device you want to work with, the
  478. right  one  selects  the  display mode (ascii dump, hex dump or disassembler
  479. mode if disassembler.library is installed).
  480.  
  481. Some words about the disassembler output:
  482. The  default  output  format  of disassembler.library is not very usable for
  483. looking  at  bootblocks as it shows the 32-bit addresses where the bootblock
  484. is  really located in memory and all pc-relative instructions point at those
  485. addresses  too.   So  I  decided  to  modify the output internally to 16-bit
  486. format  with  bootblock  addresses  from  $0000  to  $03ff.  All pc-relative
  487. instructions  appear that way, the ones pointing outside the bootblock range
  488. are  marked as *-$0xxx or *+$0xxx, where * means either the start or the end
  489. of the bootblock.  Locations outside a range of +/- 1kB around the bootblock
  490. nevertheless appear with their original 32-bit address.
  491.  
  492. Whenever  there  occurs an error, this will be displayed in the status line.
  493. Then  the  name  of the current bootblock in the buffer will be overwritten.
  494. By clicking on the 'Name' gadget, the name is printed again.
  495.  
  496. Functions offered via the bootblock lab gadgets:
  497.  
  498. 'Read':
  499. Reads  the bootblock from the currently selected device to the buffer.  Only
  500. DOS disks can be read.
  501.  
  502. 'Write':
  503. Writes  the current buffer contents to the bootblock of the selected device.
  504. The disk type and the checksum will be corrected automatically.
  505.  
  506. 'Install':
  507. Installs  a  standard AmigaOS 2.04 bootblock or an uninstalled bootblock (if
  508. selected  in  the  'Bootblock  Lab'  preferences)  to the currently selected
  509. device.  The disk type will be corrected automatically.
  510.  
  511. 'Load':
  512. Opens a file request to select a bootblock file that should be loaded to the
  513. buffer.   Only DOS bootblocks can be loaded.  You can use this function with
  514. ADF files and similar disk images too, only the bootblock will be loaded.
  515.  
  516. 'Save':
  517. Saves  the  current  buffer  contents  to  a file.  This is useful to backup
  518. important bootblocks of games etc.
  519.  
  520. 'Learn':
  521. This gadget will only be enabled if the bootblock in the buffer is neither a
  522. virus nor any other known bootblock.  Then you are able to make VirusZ learn
  523. the  unknown bootblock and give it a name.  From now on, this bootblock will
  524. be  reported  with  the  given  name and the background check will no longer
  525. report it as unknown.
  526.  
  527. Functions offered via the bootblock lab menus:
  528.  
  529. 'Brain/New Brain':
  530. Removes the currently loaded brain from memory.
  531.  
  532. 'Brain/Load Brain':
  533. Loads a new brain file from disk to memory.
  534.  
  535. 'Brain/Save Brain':
  536. Saves brain changes to file.
  537.  
  538. 'Brain/Merge Brains':
  539. Adds brain cells from a file to the currently loaded brain.
  540.  
  541. 'Brain/Edit Brain':
  542. Here you can rename or delete brain cells.
  543.  
  544. 'Misc/Refresh Devices':
  545. VirusZ  is  unfortunately  not able to detect devices that have been mounted
  546. after  startup  automatically.  If you want to check such a device, you have
  547. to refresh the device list with this function.
  548.  
  549. The  bootblock  lab  offers  the  following  settings in the 'Bootblock Lab'
  550. preferences:
  551.  
  552. 'Ask Before Write Access':
  553. If  enabled,  a  security  request  pops up every time you select 'Write' or
  554. 'Install' in the bootblock lab.
  555.  
  556. 'Read Inserted Disks':
  557. This  enables  the  bootblock  lab  to read the bootblocks of inserted disks
  558. automatically.   Useful  if  you  intend  to  check a whole box of disks for
  559. bootblock viruses.
  560.  
  561. 'Install Non-Bootable BB':
  562. If  enabled,  'Install'  doesn't install a standard bootblock, but makes the
  563. disk non-bootable.
  564.  
  565. 'Brain':
  566. The  path and filename of the default bootblock brain.  This will be used in
  567. the  file requests of the bootblock lab and for loading the brain at startup
  568. (see 'Startup' preferences).
  569.  
  570. ----------------------------------------------------------------------------
  571.                                 VECTOR CHECK
  572. ----------------------------------------------------------------------------
  573.  
  574. Mostly  all  viruses  work  in the same manner.  Either they make themselves
  575. resident   and/or  corrupt  some  libraries  or  devices  with  their  code.
  576. Therefore the vector check was designed to help you finding new viruses that
  577. can't be recognized directly by the xvs.library yet.
  578.  
  579. It  will  display  all  system  vectors that are not zero or do not point to
  580. standard  ROM  locations  and  tell  you  whether  the changes are caused by
  581. utilities  already  known  or  by  something  unknown.   But  this  will not
  582. necessarily mean that every vector marked 'SUSPICIOUS' is corrupted by a new
  583. virus,  there are lots of system enhancers and other tools around that cause
  584. such changes.
  585.  
  586. You  should  nevertheless  be  alarmed  if you are sure that you didn't have
  587. installed  any  programs  that  change  vectors  and suddenly something gets
  588. reported by VirusZ.
  589.  
  590. You might have installed a lot of patches that already get reported by name,
  591. and the output is awfully long, then you can disable the displaying of known
  592. patches in the 'Vector Check' preferences.
  593.  
  594. If  SegTracker  (part  of the Enforcer package by Michael Sinz, see complete
  595. description  there) is installed on your system, you have the possibility to
  596. use  its collected information for the vector check output.  Just enable the
  597. corresponding  option  in  the preferences.  Then mostly all vectors will be
  598. handed  over  to SegTracker for identification, and the program's name, hunk
  599. and offset will be reported if available.
  600.  
  601. You  can  also  select  every  single  line of the vector check report.  The
  602. following  functions  are  offered  depending  if they can be applied on the
  603. selected line or not:
  604.  
  605. 'Monitor':
  606. Starts  the memory monitor of VirusZ and supplies it with the address of the
  607. selected vector.
  608.  
  609. 'Snapshot':
  610. Creates  a  snapshot  of an unknown vector and saves it automatically to the
  611. 'Snapshot  Drawer'  you have defined in the 'Vector Check' preferences.  You
  612. can send me all your snapshots and I will add them to the vector check.
  613. IMPORTANT:
  614. (a)  Do not snapshot the same vectors several times, this causes me a lot of
  615. work just for nothing!
  616. (b)  Install and use SegTracker (see above) whenever possible!! Only if it's
  617. active, snapshots contain its information!!
  618. (c)  In  addition  to  your  snapshots, I need the program(s) that cause the
  619. unknown vector(s).  Snapshots without a program usually cannot be added!  So
  620. either send me the program (not its complete archive if possible) or tell me
  621. where  I  can  download  it  myself.  All the programs will be deleted after
  622. examination, so copyrights usually should not interfere with that method.
  623. (d) To find out which programs cause changes in your system, disable all the
  624. patches installed in your startup-sequence, user-startup or WBStartup drawer
  625. and  re-enable  them one by one.  Each time something new gets started, just
  626. have a look at the vector check.
  627.  
  628. 'Clear':
  629. Clears the selected vector.  Only use this if you know what you are doing!
  630.  
  631. 'Remove':
  632. Removes  a  single  element out of a system list.  Only use this if you know
  633. what you are doing!
  634.  
  635. ----------------------------------------------------------------------------
  636.                                MEMORY MONITOR
  637. ----------------------------------------------------------------------------
  638.  
  639. The  memory  monitor  has  been invented to allow experienced users to snoop
  640. around  in  RAM/ROM and have a look at suspicious vectors (directly from the
  641. vector  check or by entering the address).  It actually is of no use for the
  642. average user, so I will not explain it in detail.
  643.  
  644. Only  memory  areas from exec's memlist can be monitored, plus Kickstart ROM
  645. and  RemAPollo's  private  area.  If you reach the start/end of an area, the
  646. memory monitor will automatically wrap around to the end/start of that area,
  647. so you can never access forbidden or non-existing addresses.
  648. ATTENTION:
  649. Unfortunately  there's  one  exception  from  the above rule when running on
  650. MorphOS  systems  with  pre-50.58 exec.library:  VirusZ cannot determine the
  651. real  end address of A-Box modules area then and will default to its maximum
  652. size.  This may lead to some illegal memory accesses towards the end of that
  653. memory  area, so please avoid monitoring areas around 0x10800000.  It's your
  654. own responsibility!
  655.  
  656. Some words about the disassembler mode:
  657. Due to major problems with the calculation of a sensible 'Line -' / 'Page -'
  658. address,  these  functions  will just step backwards 2 bytes / 32 bytes each
  659. time  they get executed.  Stepping forwards causes no problems, so this will
  660. work properly in all cases.
  661.  
  662. The 'Memory Monitor' preferences currently contain the following switches:
  663.  
  664. 'Chip-Ram Start Address = $00000000':
  665. If enabled, the memory monitor overrides the memlist entry for chip ram that
  666. usually  starts  at  locations  $00000400/$00004000 and allows you to have a
  667. look  at  the  cpu's vectortable.  This interferes with most debugging tools
  668. (eg.  MuForce) and will result in lots of annoying hits, so keep this option
  669. disabled unless you really need it.
  670.  
  671. 'Display SegTracker Info If Available':
  672. If  SegTracker  (part  of the Enforcer package by Michael Sinz, see complete
  673. description  there)  is installed on your system and this option is enabled,
  674. the  status  line will display SegTracker information whenever you monitor a
  675. previously tracked memory area.
  676.  
  677. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  678. #!                          END OF DOCUMENTATION                          #!
  679. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  680.  
  681. -----BEGIN PGP PUBLIC KEY BLOCK-----
  682. Version: PGPfreeware 5.0i for non-commercial use
  683.  
  684. mQCNAzuzvG4AAAEEAKbvwOuWJSNZHJyNommciVkVj98H+O32pP42OM20WHy3CMuG
  685. E2D2tSQwvkUZCBDMvdqYRDP7Jkfw+hHpbNAFls2x/ujMJ0u8FP7g2ivfg99W6cMp
  686. PX6OXgqImTAMcxp5az6mbemZ0K4+FBMfBmDWs+226/IOWu3fdGUOxNgKgx13AAUR
  687. tCFHZW9yZyBIb2VybWFubiA8Z2hvZXJtYW5uQGdteC5kZT6JAJUDBRA7s7xuZQ7E
  688. 2AqDHXcBAYghBACIpDzrTak/DA32mAJabo2D082o83MFTJTwSSft6k2VFY3jr2ia
  689. 2TckPkqEc0TKe24nQbhRZI6ehkMlJmKcsSmG38hwMXkIvEQc03jOv6dVmzqRPiR2
  690. 2Vtc7WnKdBh/FUbCmvuGqstEKonKrCfXKv8zBSp5wWVnlZKRhDUGsLyXlg==
  691. =hPFP
  692. -----END PGP PUBLIC KEY BLOCK-----
  693.